package com.wx.mall.user.service;

import com.wx.mall.common.vo.user.GrowthReqVo;
import com.wx.mall.user.entity.Growth;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wx.mall.user.entity.User;

import java.util.Date;
import java.util.List;

/**
 * <p>
 * 成长值表 服务类
 * </p>
 *
 * @author j
 * @since 2020-03-18
 */
public interface IGrowthService extends IService<Growth> {
    //    根据用户ID来查询
    List<Growth> getListByUserId(Integer growthUserId);

    /**
     * 分页查询
     * @param pageNum
     * @param pageSize
     * @retur
     */
    List<Growth> getListByUserIdPage(Integer pageNum, Integer pageSize,Integer growthUserId);

    /**
     * 分页查询并筛选
     * @param pageNum
     * @param pageSize
     * @retur
     */
    List<Growth> getListByUserIdPageSelect(Integer pageNum, Integer pageSize,Integer growthUserId, String growthSource, Date growthCreateTime);

    /**
     * 分页查询：根据用户ID来查询,成长值来源排序
     * @param growthUserId 用户ID
     * @param oder 排序方式：0升1降
     */
    List<Growth> getListByOder(Integer pageNum, Integer pageSize,Integer growthUserId,Integer oder);

    /**
     * 分页查询：根据用户ID来进行查询根据时间排序
     * @param growthUserId 用户ID
     * @param oder 排序方式：0升1降
     */
    List<Growth> getListByTime(Integer pageNum, Integer pageSize,Integer growthUserId,Integer oder);


    /**
     * 添加成长值同时修改成长值总值
     * @param
     */
    int addList(User user, Growth growth);


    /**
     * 批量添加成长值同时修改成长值总值
     * @param
     */
    int addManyList(GrowthReqVo vo);
}
